{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Variable distribution\n",
    "\n",
    "### Linear Regression Assumptions\n",
    "\n",
    "Linear Regression has the following assumptions over the predictor variables X:\n",
    "\n",
    "- Linear relationship with the outcome Y\n",
    "- Multivariate normality\n",
    "- No or little multicollinearity\n",
    "- Homoscedasticity\n",
    "\n",
    "We discussed the linear relationship assumption in the previous lecture. \n",
    "\n",
    "Normality assumption means that every variable X should follow a Gaussian distribution.\n",
    "\n",
    "Homoscedasticity, also known as homogeneity of variance, describes a situation in which the error term (that is, the “noise” or random disturbance in the relationship between the independent variables (Xs) and the dependent variable (Y)) is the same across all values of the independent variables.\n",
    "\n",
    "Violations in the assumptions of homoscedasticity and / or normality (assuming a distribution of data is homoscedastic or Gaussian, when in reality it is not) may result in poor model performance.\n",
    "\n",
    "\n",
    "### Does Variable Distribution affect other machine learning models?\n",
    "\n",
    "The remaining machine learning models, including Neural Networks, Support Vector Machines, Tree based methods and PCA do not make any assumption over the distribution of the independent variables. However, in many occasions the model performance may benefit from a \"Gaussian-like\" distribution. \n",
    "\n",
    "Why may models benefit from a \"Gaussian-like\" distributions? In variables with a normal distribution, the observations of X available to predict Y vary across a greater range of values, that is, the values of X are \"spread\" over a greater range. See Figure 1 below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n0UqF6GCz2AAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x4a70808128>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# simulation of the Gaussian distribution of a variable X\n",
    "# x-axis indicates the values of X\n",
    "# y-axis indicates the frequency of each value\n",
    "# x is spread over a big range (-3,3)\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import matplotlib.mlab as mlab\n",
    "import math\n",
    "\n",
    "mu = 0\n",
    "variance = 1\n",
    "sigma = math.sqrt(variance)\n",
    "x = np.linspace(mu-3*variance,mu+3*variance, 100)\n",
    "plt.plot(x,mlab.normpdf(x, mu, sigma))\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the Gaussian distribution depicted in the figure above, the values of the individual observations vary greatly across a wide range of x values (in this case -2 to 2). \n",
    "\n",
    "In variables with skewed distributions, the majority of the observations available to predict Y, vary within a very narrow value range of X, and very few observations are available in the tails of the distribution. See Figure 2 below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from scipy import linspace\n",
    "from scipy import pi,sqrt,exp\n",
    "from scipy.special import erf\n",
    "\n",
    "from pylab import plot,show\n",
    "\n",
    "def pdf(x):\n",
    "    return 1/sqrt(2*pi) * exp(-x**2/2)\n",
    "\n",
    "def cdf(x):\n",
    "    return (1 + erf(x/sqrt(2))) / 2\n",
    "\n",
    "def skew(x,e=0,w=1,a=0):\n",
    "    t = (x-e) / w\n",
    "    return 2 / w * pdf(t) * cdf(a*t)\n",
    "\n",
    "n = 2**10\n",
    "\n",
    "e = 1.0 # location\n",
    "w = 2.0 # scale\n",
    "\n",
    "x = linspace(-10,10,n) \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x4a72d62c50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# This simulation shows a variable X skewed to the left. The majority of the values of X are accumulated\n",
    "# on the right hand side of the plot, with only a few observations on the left tail.\n",
    "# This meas, that we do not have enough values of X on the left, for our prediction model to learn from\n",
    "\n",
    "# more precisely, there are a lot of observations for the value range of x (0,5), but very few for the range (-10, 0)\n",
    "\n",
    "p = skew(x,e,w,5)\n",
    "plot(x,p)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the skewed distribution above we see that the majority of the observations take values over a very narrow value range (2-2.5 in this example), with few observations taking higher values (> 5 in this example). Therefore, regardless of the outcome, most observations will have values in the 2-2.5 space, making discrimination and outcome prediction difficult. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAD8CAYAAABw1c+bAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd8XNWZ+P/PM6PeJavYlotsYzAGd7lh00wzJRjIksDm\nF0qSBRJI2WTTs9kkZJOQTScQQkkgfJMQklAcMBBqjMFNNja2cZNl2ZasZvVeZs7vjzsD4/FIuiNN\nk/S8Xy+9NDP33DNHV9Kjo+eeIsYYlFJKjR2OaDdAKaVUZGngV0qpMUYDv1JKjTEa+JVSaozRwK+U\nUmOMBn6llBpjNPArpdQYo4FfKaXGGA38Sik1xsRFuwGB5ObmmqKiomg3QymlRoxt27adMMbk2Skb\nk4G/qKiIkpKSaDdDKaVGDBE5YrespnqUUmqM0cCvlFJjjAZ+pZQaYzTwK6XUGKOBXymlxhgN/Eop\nNcZo4FdKqTFGA79SQ9Da1cvjm47wzDuVuNyh3b50X8M+fr/79+xv2B/SepXyiskJXErFssb2Hq7/\n7UZKa9sAWH+gjp9+ZB4iMuy63z7+Np955TO4jItfbv8lP73gp1w05aJh16uUL+3xKxWk7/xjD+Un\n2nnsE0u488IZPPVOJf86UDfsentdvXxv4/coyihi7TVrmT1uNt/a8C3qOoZft1K+bAV+EVktIvtF\npFREvhbg+BoReVdEdohIiYis9DlWLiK7vMdC2XilIm1reQPP7jjOXatO4/zT8/j8RaczPiOJB9eX\nDbvuV4+9SmVbJV8s/iLTMqfxg5U/oNvVzS+2/yIELVfqA4MGfhFxAvcBlwOzgRtFZLZfsVeBecaY\n+cAngIf9jl9ojJlvjCkOQZuVipr7Xi9lXGoCt583A4CEOAc3LJnMxrJ6alq6hlX3C2UvkJecx4qJ\nKwAoyizixlk38nzZ81S2VQ677Up52enxLwFKjTFlxpge4AlgjW8BY0ybMcZ7hysVCO3dLqViwN6q\nFt7YX8etK4pITnC+//pVcydiDPxzT/WQ627raePNyje5rOgynI4P6r5p9k2ICI+/9/iw2q6ULzuB\nvxA45vO8wvPaSUTkWhHZBzyP1ev3MsArIrJNRG4bTmOViqY/bzlKQpyDjy8rOun1GXmpTMxMYlNZ\nw5Dr3l67nV53LxdOvvCk1wtSC7hkyiX849A/6HZ1D7l+pXyF7OauMeZpY8ws4Brgbp9DKz0poMuB\nO0XkvEDni8htnvsDJXV1ejNLxZbuPhfP7jjOZWeNJzMl/qRjIsLS6ePYfLieD/7xDc72mu3EOeKY\nkzfnlGPXzLyGlp4WXj/2+pDqVsqfncBfCUz2eT7J81pAxpj1wHQRyfU8r/R8rgWexkodBTrvQWNM\nsTGmOC/P1l4CSkXMK+/V0tzZy/WLJgU8vnRaDifaejhU1z6k+rfXbmf2uNkkxyWfWvf4pUxIncAz\nB58ZUt1K+bMT+LcCM0VkmogkADcAa30LiMhp4hnELCILgUSgXkRSRSTd83oqcCmwO5RfgFKR8Ny7\nx8lPT2TFabkBjxcX5QDwztHGoOvudfWy+8RuFuYvDHjc6XBy5fQr2VS1iaaupqDrV8rfoIHfGNMH\n3AW8BOwFnjTG7BGRO0TkDk+xDwO7RWQH1gigj3pu9hYAG0RkJ7AFeN4Y82I4vhClwqWzx8Ub++u4\n7KzxOB2BJ2lNy00lKd7B3qrWoOsvay6j193L7HH+g+U+cPHUi3EZl6Z7VEjYmrlrjFkHrPN77QGf\nx/cA9wQ4rwyYN8w2KhVV6w/W0dnrYvXZ4/st43QIZxSks6+6Jej6DzYdBGBm1sx+y8zOmU1hWiEv\nH3mZa2deG/R7KOVLZ+4qNYiXdleTlRLPkmk5A5Y7c0IGe6tagr7Be6DxAPGOeKZmTu23jIhw8ZSL\n2Vi1kdae4P+rUMqXBn6lBtDT5+aVvTVcfGYB8c6Bf11mjU+nsaOX2tbghl0ebDzI9MzpxDviByx3\n8dSL6XP3sb5ifVD1K+VPA79SA9h8uJ6Wrj4uO6v/NI/X6ePTAThY0xbUe5Q2lTIzu/80j9ec3Dlk\nJ2azoXJDUPUr5U8Dv1IDeGN/HQlxDlb2M5rH17TcVADK6+0P6ezq66K6vZqpGf2nebycDicrClfw\nVuVbuI3b9nso5U8Dv1IDWH+gjqXTck5aoqE/BelJJMU7KD9hP/B71+CZnD55kJKWlYUraexuZM+J\nPbbfQyl/GviV6sfxpk4O1rZx/un2JhQ6HMLUnNSgevwVrRUATEoPPDHM34qJKxBE0z1qWDTwK9WP\n9Z419s+zGfgBinJTKK/vsF3+WKu1DJbdHn9WUhZz8ubwZuWbtt9DKX8a+JXqx78O1DEhM4mZ+Wm2\nzykal8rR+g7b2zEeaz1GSlwK2YnZtt/j3MJz2X1iNw1dQ18UTo1tGviVCqDP5WZD6QnOm5kX1JaK\nU8el0uNyU21zbf6Ktgomp08O6j3OLTwXg+Gtyrdsn6OULw38SgWw41gTrV19nH9GcAsGTsxKAqCq\nqdNW+WOtx2zn973OHHcmmYmZbK7aHNR5Snlp4FcqgH8dqMMhsGLG4MM4fU3MslbXPN48eI/fbdxU\ntlbazu97OcTBkvFL2FK9ZcjLQKuxTQO/UgFsKD3BvMlZp6y9P5gJmfZ7/HUddfS4e5iUFlyPH6yl\nmqvaq96/OaxUMDTwK+WnrbuPdyuaOWfGuKDPTU+KJz0xjuM2An9NRw1g7bIVrCUTrG0tNlVtCvpc\npTTwK+Vna3kDLrdh+fTg0jxeE7OSbaV6ajtqAShICT7wF2UUkZ+Sz5bqLUGfq5QGfqX8bCqrJ94p\nLJpqf4ilrwlZSVQ12+/x56fkB/0eIsLS8UvZUrVFl29QQdPAr5SfTYfqmT85y9YyDYFMyEymqmnw\nHn9NRw1xjjiyk4b2B2bphKU0djdysPHgkM5XY5cGfqV8tHT1squymeXTg8/ve03MTKK+vYeuXteA\n5Wo7aslPzschQ/s1XDphKYAO61RB08CvlI+S8gbcBpYN4caul3dIZ9Ugef7ajtoh3dj1Gp86nqkZ\nU9lcrYFfBUcDv1I+Nh6qJ8HpYOGUoaVfwMrxw+BDOmvaa4aU3/e1ZPwSSqpL6HX3DqseNbbYCvwi\nslpE9otIqYh8LcDxNSLyrojsEJESEVlp91ylYsnGsnoWTMkiKX5o+X2Aggwr8A+0E5cxxkr1hCDw\nd/R1sL9h/7DqUWPLoIFfRJzAfcDlwGzgRhGZ7VfsVWCeMWY+8Ang4SDOVSomNHf0sud4C8uHkeYB\nyEtPBKBugMDf0tNCl6trSEM5fS0qWATAtpptw6pHjS12evxLgFJjTJkxpgd4AljjW8AY02Y+mDue\nChi75yoVK7aUN2AMw7qxC5CeGEdinIO6tv4D/3DG8PvKS8ljSvoUSmpKhlWPGlvsBP5CwHdeeIXn\ntZOIyLUisg94HqvXb/tcz/m3edJEJXV1dXbarlRIbTxUT2Kcg/lTsoZVj4iQl544YI/fG/iHm+oB\nq9e/vWa7judXtoXs5q4x5mljzCzgGuDuIZz/oDGm2BhTnJcX3IqISoXCxrJ6Fk3NJjFu6Pl9r8EC\nf31XPQC5yUObHexrUcEiWnpaKG0qHXZdamywE/grAd/lAyd5XgvIGLMemC4iucGeq1S0NHf0sq+6\nhWXDTPN45Q8W+DutwJ+TlDPs99I8vwqWncC/FZgpItNEJAG4AVjrW0BEThPPThIishBIBOrtnKtU\nLNh+tBFjYHHR8AMxeHr8A+T4G7oaSHQmkhqfOuz3KkwrpCClQAO/si1usALGmD4RuQt4CXACvzPG\n7BGROzzHHwA+DNwkIr1AJ/BRz83egOeG6WtRasi2ljcQ5xDmTx5eft8rLy2JhvYeel1u4p2n9q8a\nuhrIScoJauet/ogIiwoWvb8+fyjqVKPboIEfwBizDljn99oDPo/vAe6xe65SsWZreQNnF2YOeX0e\nf94hnfVtPYz3rNHvq76zPiRpHq9FBYtYd3gdx1qPMSVjSsjqVaOTztxVY15Xr4udx5pZXDT02br+\nBhvL39DVwLjk0NxPACguKAY0z6/s0cCvxrzdlc30uNwUhyi/Dz6Bvy3wej2h7vFPy5xGdmK2judX\ntmjgV2Pe1vJGAIqHuP5+IAP1+I0xVo8/KXQ9fhFhYcFC7fErWzTwqzFva3kDM/JSGZeWGLI6c9MS\ngMCBv6WnhT7TF9IeP1h5/sq2Sqrbq0Narxp9NPCrMc3tNpSUN4RsGKdXYpyT9MQ46tt7TjnmnbwV\nyhw/6Hh+ZZ8GfjWmHaxto6WrL6T5fa/s1AQaAwT+hs4GIDSTt3ydkX0GafFpGvjVoDTwqzFta7kV\nhJeEIfDnpCYM2OMPdeB3OpzMy5vHO7XvhLReNfpo4Fdj2tbyBvLTE5mckxzyunNSE2jsCNDj77L+\n2IQ61QMwP38+pU2lNHc3h7xuNXpo4FdjWkl5I4uLQjOD1l9OagINbQF6/J31CEJWYmhmCftakL8A\ngJ11O0Netxo9NPCrMauyqZPKpk6KQzhxy1dOagIN/fT4s5OyiXPYmjgflDm5c3CKkx21O0Jetxo9\nNPCrMavEk98P9Yger5zUBLp63XT09J30unednnBIiU9hVs4szfOrAWngV2PW1vIG0hLjmDU+PSz1\n56RYY/nr/dI94Qz8YKV7dp/YrRuwq35p4FdjVkl5IwumZBEXYPXMUMhJtQK//w3exq7GsOT3vebn\nz6fL1cW++n1hew81smngV2NSc0cv+2taw5bmAcjxzN71H9LZ0tNCZmJm2N7Xe4NX0z2qPxr41ZgU\n6o1XAvGmenwncRljaO5uDmuPPz8ln8K0Qg38ql8a+NWYtCXEG68E4u3xN/gE/rbeNlzGFdYeP1jp\nnndq38HaD0mpk2ngV2NSSYg3XgkkPTGOeKecFPibupsAwh74F+YvpL6rnorWirC+jxqZNPCrMScc\nG68EIiJkpyScFPhbulsAyEwIf48f4J06TfeoU9kK/CKyWkT2i0ipiHwtwPGPici7IrJLRN4WkXk+\nx8o9r+8QEd0lQkVdODZe6U9OakLAHn9WUvhSTACnZZ1Geny65vlVQINOHRQRJ3AfcAlQAWwVkbXG\nmPd8ih0GzjfGNIrI5cCDwFKf4xcaY06EsN1KDVk4Nl7pj3/g966hE+4ev0MczM2fqzN4VUB2evxL\ngFJjTJkxpgd4AljjW8AY87YxptHzdBMwKbTNVCp0th1pYHpuaDde6Y//sg2RyvEDLMhboAu2qYDs\nBP5C4JjP8wrPa/35JPCCz3MDvCIi20TktuCbqFToGGPYdqSRRRHo7UOAHn+PFYQzEjPC/t66YJvq\nT0hv7orIhViB/6s+L680xswHLgfuFJHz+jn3NhEpEZGSurq6UDZLqfcdqmunsaM3bAuz+ctOSaC5\nsxeX2xpW2dLdQlp8GvGO+LC/99m5ZxMncZrnV6ewE/grgck+zyd5XjuJiMwFHgbWGGPqva8bYyo9\nn2uBp7FSR6cwxjxojCk2xhTn5eXZ/wqUCsK2I9bCbIumhv/GLkBWSjzGQGuXtW5OU3dTRNI8oAu2\nqf7ZCfxbgZkiMk1EEoAbgLW+BURkCvAU8HFjzAGf11NFJN37GLgU2B2qxisVrK3ljWSnxDMjLzUi\n75eVYvXsGzuswN/c3RyxwA/WsM7dJ3bT69IF29QHBg38xpg+4C7gJWAv8KQxZo+I3CEid3iKfRsY\nB9zvN2yzANggIjuBLcDzxpgXQ/5VKGWTld8Pz8YrgWR5lm1o8tzgbe5uDvuIHl8L8hfQ7epmb8Pe\niL2nin22doIwxqwD1vm99oDP408BnwpwXhkwz/91paLhRFs3h0+089HFkwcvHCJZyVaPv6nT0+Pv\naaYwbaCxEaHlu2Db3Ly5EXtfFdt05q4aM7Ydidz4fS//Hn9Td1NERvR45aXkUZhWqOP51Uk08Ksx\nY9uRRhKcDs4ujFyq5f0ef0cvbuOmpbslrCtzBrIgfwHba7frgm3qfRr41ZhRUt7AnEmZJMWHb2E2\nfxnJ8YhYgb+1pxWDiejNXbACf0NXA8dajw1eWI0JGvjVmNDV62J3ZUtE0zwAToeQkRRPU0fP+zNo\no9HjB92YRX1AA78aE3Z5FmaL1IxdX1kp8TR19kZ0uQZfM7JmkJ6gC7apD9ga1aPUSFfiWZgtKoE/\nOZ6mjl6au9uAyAd+hziYlzdPA796n/b41Ziw7UgD0/MiszCbv6yUhJN7/BEcx++1MH8hZc1lNHU1\nRfy9VezRwK9GPbfbWpgt0vl9r6wUK8ff0mNtwhLpHD98kOffUafDOpUGfjUGlJ1osxZmi9D6PP68\nqZ6m7iYEIT0hPeJtODv3bOIccWyv3R7x91axRwO/GvXez+9HaEVOf1kpCbR09dLU1Ux6QjpOR+SG\nk3olxSVx1rizeKdG8/xKA78aA0qONJKTmsD03MgszObPu0LniY6GiN/Y9bUwfyG763fT1dcVtTao\n2KCBX4162440snBKdsQWZvPnXaGzvqs5Kvl9rwX5C+hz97Gnfk/U2qBigwZ+Nap5F2aL1MYrgWQl\ne9br6YrsOj3+5ufPB3Qil9LAr0Y578Jsi6MZ+D09/pae6Pb4s5OymZ45ne01eoN3rNPAr0a1bUca\nSYiL7MJs/rwrdLb3tkRlDL+vBfkL2FG7A7dxR7UdKro08KtRraS8gbmFmSTGRX4kjZe1QqeLLnd7\nVHv8AAsLFtLa20ppU2lU26GiSwO/GrW8C7NFaxinV0ZyPBLXaT2OYo4ffBZs02GdY5oGfjVqeRdm\ni9bELS+nQ0hPtnbginaPf1LaJPKS83Qi1xingV+NWtFcmM1fWko3EPkF2vyJCAvyF+jInjHOVuAX\nkdUisl9ESkXkawGOf0xE3hWRXSLytojMs3uuUuHiXZgtJzUh2k0hJcnaejHaN3fByvNXtVdR1VYV\n7aaoKBk08IuIE7gPuByYDdwoIrP9ih0GzjfGzAHuBh4M4lylQs7tNpREcWE2f0lJ1mzZaKd6QDdm\nUfZ6/EuAUmNMmTGmB3gCWONbwBjztjGm0fN0EzDJ7rlKhcPB2jaaOnpZMm1ctJsCfd1kO6oByHBH\nfxjl6dmnkxKXonn+MczORiyFgO9mnRXA0gHKfxJ4IdhzReQ24DaAKVOm2GiWUv3bcrgegKXTonRj\nt7sVdvwJdv0Vjr/D4sxU3s3MIP0XcyGjEM78ECy8GQoi/w9wnCNON2YZ40J6c1dELsQK/F8N9lxj\nzIPGmGJjTHFeXl4om6XGoC3ljYzPSGJSdnJk39jthi0PwS/nwQtfgb4uOOdz7M5eitOdCBffDRMX\nQMnv4TfnwN8/BW21kW0jsKBgAQcbD76/R4AaW+wE/kpgss/zSZ7XTiIic4GHgTXGmPpgzlUqlIwx\nbDlcz5JpOZFdmK2tFh6/Btb9FxScBZ96De7YABf/D/WpuXT3ZdC84A644Y/wpX2w8gvw3lq4fxkc\neCly7cRaqdNg2Fm7M6Lvq2KDncC/FZgpItNEJAG4AVjrW0BEpgBPAR83xhwI5lylQu1YQyc1Ld0s\njmSap24/PHwRHNsCH/ol3LQWJi16/3Af7RhXCk2d1nh+UnLg4u/A7eut1M+fPgob74tYc+fkzsEp\nTk33jFGD5viNMX0ichfwEuAEfmeM2SMid3iOPwB8GxgH3O/pYfV50jYBzw3T16IUAJsjnd+v3gWP\nXgXOeLj1eShcdEqRHnebFfg7egCffQHyZ8EnXoKnb4OXvgG9HXDel8Pe5JT4FM7MOVNv8I5Rdm7u\nYoxZB6zze+0Bn8efAj5l91ylwmnL4QayU+I5LS8t/G924iA8fi0kpMItz0POtIDFutytGNcEmjp6\nTz2YkALXPwbPfAZe+z44E2DF58PccCvP/+T+J+lx9ZDgjP5cBxU5OnNXjTpbyxsoLsrB4Qhzfr/9\nBDx+nfX4prX9Bn2A9r4WjCuFxo6ewAUcTrjmfjjrOnj527Dn6TA0+GQL8xfS7ermvfr3wv5eKrZo\n4FejSk1LF+X1HeFP87j64K+3QFsN/PuTkHtav0V7Xb109nVg3CmBe/xeDidc+wBMXgpPfxqOhzf/\n7t2YRdM9Y48GfjWqbDncAMDiojAH/pe/DeVvWjdyCxcOWLS5pxng5Ju7/YlLhI/+EVJz4cmboKs5\nVC0+RW5yLkUZRWyr2Ra291CxSQO/GlW2ljeQkuDkrIlhXP74wD9h032w5DaYf+OgxZu7reCd7Ez3\n3NwdRFoe/NvvobkS/vEFMGa4Le7X4vGL2V6znT53X9jeQ8UeDfxqVNlyuIFFU7OJc4bpR7u9Hp69\nE/JnwyV32zrFG/jT4jIGTvX4mrwYLvwG7HkKdvxxqK0dVHFBMW29bexv2B+291CxRwO/GjWaOnrY\nV93KknCleYyB5z4PnY1w3YMQn2SvXd1NAGQkZvZ/czeQlf8JRefCC1+zev9hUDy+GICt1VvDUr+K\nTRr41ajhXX9/Sbhu7O79h/Vx4Tdg/Bzbp3l7/NlJWTQPluP35XDC1feCuw+e/1JYUj75KfkUZRSx\ntUYD/1iigV+NGlvKG0hwOpg3OQxLH3e3wgtfhYI5cM7ngjrVG/jHJWUF1+MHa4joqm/CgRestE8Y\nFI8vZnvNdlxuV1jqV7FHA78aNTaX1TN3UiZJ8WHYWP31H0JrFVz1c3Damvf4vuaeZuIkjnEpGTS1\nB9Hj91r6aWthtxe+Bl2hX1RtccFi2nrb2Ne4L+R1q9ikgV+NCi1dveyqbOacGWFYf796F2z+DSy6\nxbrpGqSm7iYyEjPISU2ktbuPXleQa/I74+CKn0J7Lbz5k6DffzDePH9JdUnI61axSQO/GhW2Hm7A\nbWBZqAO/MfDi1yE5Gy7+nyFV0dzdTFZiFlkp8dbzYPL8XpMWwfyPwcb7of7QkNrRn/yUfKZmTNUb\nvGOIBn41Krx9qJ6EOAcLp4R4q8UDL1oTtS7wBP8haO5uJjMx8/3Ab3tIp7+L/sea4PXSN4d2/gCK\nCzTPP5Zo4FejwsZD9Syakh3a/L6rF/753zBuppXmGaIPAr+1EJqtSVyBpBdYK3ceeAEOvT7k9gSy\nePxiWntb2d+o4/nHAg38asRrbO9hb3ULy0Od5tn2KNQfhEu+Zy25PERN3U1kJmSSPdweP8DSOyBz\nMrz63ZAO7ywu0PH8Y4kGfjXibT5cjzGENvB3t8IbP4KpK+GMy4dV1fs5/mSrxx/0kE5f8UlW2un4\nO7A3dHsaFaQWMDVjqt7gHSM08KsRb+OhepLjncybFMLx+5segI4TcOn3YBjbN3b1ddHl6iIrKYus\n1BD0+AHm3QC5Z1hr97tCt8ZOcUEx22q2aZ5/DNDAr0a8jWX1FBdlkxAXoh/nzibYeC+ccUXA3bSC\n4V2uITMxk/TEOJwOoalzGD1+sGb0XvTfcOIA7Pzz8OryUTy+mNbeVg40Hhi8sBrRNPCrEa2utZsD\nNW2hTfNsut9aDvmCrw+7Ku+s3azELESErOR4Gofb4weYdZX1R+mNH0Jv1/Drw5rIBbClektI6lOx\ny1bgF5HVIrJfREpF5GsBjs8SkY0i0i0i/+V3rFxEdonIDhHRBKIKqU1l1v6658zIDU2FHQ3WWPkz\nr4YJc4ddnbfHn5VopaGyUuJpDkXgF4GLvg0tlfDO48OvDyvPPy1zGhurNoakPhW7Bg38IuIE7gMu\nB2YDN4rIbL9iDcDngP6mFV5ojJlvjCkeTmOV8rexrJ60xDjODtX6+2/fCz1tIentw8mpHoCslITh\n3dz1Ne18mLIcNvwc+rpDUuWyCcvYVr2NHleI2qhikp0e/xKg1BhTZozpAZ4A1vgWMMbUGmO2AiHo\nyihl36ZD9SyZlhOa9ffbT8Dm38LZ10GBf99maHxTPQDZKfHDv7nrJWKN62+phB1/CkmVyycsp8vV\nxc66nSGpT8UmO78thcAxn+cVntfsMsArIrJNRG4LpnFKDaSyqZOyE+2hW59n433Q2wHnn5LNHDL/\nVE9mcsLQJ3AFMmMVFBbDhp9ZE86GafH4xTjFycbjmu4ZzSJxc3elMWY+VqroThE5L1AhEblNREpE\npKSuri4CzVIj3YaD1s/JeafnDb+yrhbY+gjMXgN5pw+/Po+m7iaS45JJcFpj+LNT4gffdzcYInD+\nV6DpKLz7l2FXl5aQxpzcORr4Rzk7gb8SmOzzfJLnNVuMMZWez7XA01ipo0DlHjTGFBtjivPyQvCL\nrEa99QdPUJCRyMz8tOFXtu330N0MK78w/Lp8eCdveWWlxNPR46K7L4Rj5WdeChPmwfqfhGRc//KJ\ny9lTv+f9NJUafewE/q3ATBGZJiIJwA2ArSmDIpIqIunex8ClwO6hNlYpL5fb8FbpCVaelocMY4IV\nYN0Y3Xg/TL/AWvc+hJq6m/wCv3e9nlD3+r8KjYdh99+HXd2yCcswGB3WOYoNGviNMX3AXcBLwF7g\nSWPMHhG5Q0TuABCR8SJSAXwR+JaIVIhIBlAAbBCRncAW4HljzIvh+mLU2LG7spmmjl7OOz0Ewzh3\nPgFt1bAitL198KzT4xnRA5AdjsAP1mSzgrPhzZ+CO8j1/v3MyZtDanwqm45vClHjVKyxtZWQMWYd\nsM7vtQd8HldjpYD8tQDzhtNApQJ505PfX3HaMAO/2wVv/RImzLd6/CHW3N3MxNSJ7z/3Ls0csiGd\nXiLW5ux//6S1euesK4dcVbwjnsUFi3U8/yimM3fViLT+4AnOmphBblri8Cra9xw0HLJy+8NNGQXg\n3+Mf9pr8A5l9DWRNhQ2/GPbKncsmLuNY6zEqWitC1DgVSzTwqxGnrbuP7UcaOXfmMAcBGGNNfsqZ\nbs3UDTGX20VLd0s/Of4wTJByxsE5n4WKLXB0eL315ROWA7CpStM9o5EGfjXibDpUT5/bcN7MYaZ5\nDq+3ljc+53PWwmch1trTisH45fg9Pf5QDun0Nf9jkDLO6vUPw7TMaeSn5PP28bdD1DAVSzTwqxHn\nzYN1JMU7WFQ0zG0WN/wc0gpg3o2haZgf/8lbAMnxThKcjtDn+L0SUqzNWg6+BDXvDbkaEWFl4Uo2\nHd9Er1vej5QXAAAgAElEQVQn5I82GvjViPPmwRMsmz6OxLhh9NKP74Cy12HZp63NTcLAf50esAJq\nVko8Te1hDKaLPwXxKfD2r4ZVzbmF59La28qO2h0hapiKFRr41YhypL6dshPtnDfc/P5bv4DEDCj+\nRGgaFoD/Oj1eWSnxw1+TfyApObDwZtj1V2g6Nnj5fiybsIw4RxxvVr4ZwsapWKCBX40or+2rBWDV\nrPyhV1J/CN571gr6SZmDlx+iQKke8K7QGeb0yfI7rc+b7h9yFWkJaSzKX8SbFRr4RxsN/GpEeW1f\nLdPzUinKTR16JW/fC454K80TRoFSPWDd4A3JmvwDyZoMZ/8bbHvM2mNgiM6ddC6lTaVUtVWFsHEq\n2jTwqxGjvbuPzWUNrDpjGL391hprCeP5N0L6+NA1LoDm7mYc4iA9If2k17OSQ7gm/0BWfB5622Hr\nw0Ou4txJ5wJoumeU0cCvRowNpSfocblZdeYwAv/m34C71xrCGWZN3U1kJmTikJN/zbJSrRU6zTAn\nWQ2qYDbMvAw2PwA9HUOqYlrGNArTCjXdM8po4Fcjxuv7aklPjGNxUc7QKuhqtpZePvNqGDcjtI0L\nwH/Wrld2SgI9fW46ekK4Qmd/Vn4BOurhnf83pNNFhPMmncfm6s10u0Kzy5eKPg38akQwxvDavlrO\nOz2P+KHutlXye+huCfnSy/1p7m4mO+nUuQY5qdbs3Yb2CKR7piyHyUth471DXrL53MJz6ezrpKRa\nt8weLTTwqxFhz/EWalu7uXCoo3l6u6wRLtMvCPnSy/1p6GogJ+nU/05y06zAf6ItAj1oEWvV0aaj\nsOfpIVWxePxikpxJrK9YH+LGqWjRwK9GhFf31iICF5wxxPH77z4BbTXWCpYR0l/gz0m1Fparb4vQ\nhuanr4a8WdbchSHcV0iKS2LZhGW8fuz18N+XUBGhgV+NCC/vrWb+5Kyhrcbpu/TytPND37gAXG4X\nTd1NAVM94yKZ6gFwOKyb2TW7ofSVIVWxasoqqtqr2NuwN8SNU9GggV/FvGMNHeyubGH1WUMcfrn3\nH9BQZvX2w7D0ciDNPc24jTtgj3+cN9XTHsGbpXOuh4zCIS/edsHkC3CIg1ePvhrihqlo0MCvYt5L\ne6oBWH32EAK/MbDhZ56llz8U4pb1r6HTmjQ1LmncKcdSEuJIjnfSEKlUD0BcgjWb98gGqAj+Jm12\nUjaLChbx2tHXwtA4FWka+FXMe2lPNWdOyGDquCHM1i17Hap2Wjc4w7D0cn8auxsBAqZ6wOr110cq\n1eO18GZIyrJWJR2Ci6ZcRGlTKUdajoS4YSrSbAV+EVktIvtFpFREvhbg+CwR2Sgi3SLyX8Gcq9RA\nalu7KDnSOPQ0z5s/g/QJMO+G0DZsEPVd9QABUz1g5fkjHvgT02DJbbDveag7EPTpqyavAtB0zygw\naOAXESdwH3A5MBu4UURm+xVrAD4H/GQI5yrVr5ffq8GYIaZ5Kkqg/E0rxRE3zC0ag+RN9fQb+NMS\nqY/EcE5/S2+HuCR4+5dBnzohbQKzx83WwD8K2OnxLwFKjTFlxpge4AlgjW8BY0ytMWYr4L/y1KDn\nKjWQF3dXMy03ldML0oI/ecPPrdTGoltC3q7BNHQ1IMgpK3N65aQmRG5Uj6/UXFjw/8HOv0DL8aBP\nv2jKRbxb9y61HbVhaJyKFDuBvxDwXdS7wvOaHcM5V41xzR29bDxUz2VnjUeCHY1Tu8/aSH3JbZCY\nPnj5EGvsaiQrMQtnP/cVxqUlUN/WE51x8efcBcYNG+8L+tSLp1wMwCtHhjYsVMWGmLm5KyK3iUiJ\niJTU1dVFuzkqBry8t4Y+txlamuetX0JcsrUNYRT0N3nLa1xqAj0uN23dQ1tGYViyi+Ds62Dbo9DZ\nGNSp07OmMzN7Ji8cfiEsTVORYSfwVwKTfZ5P8rxmh+1zjTEPGmOKjTHFeXnD3F1JjQrP7qhkck4y\n8yYFuVlK0zHY9SQsuhlSTx1OGQkNXQ3kJA8U+CM8e9ffis9DT5u1aF2Qrph2BTvqdnC8LfhUkYoN\ndgL/VmCmiEwTkQTgBmCtzfqHc64aw+pau3n7UD1Xz5sYfJrn7Xutz8vvCn3DbGroaiA7sf/N4HM8\nk7jqIzmJy9f4OXDaxdaSzb2dQZ26umg1gPb6R7BBA78xpg+4C3gJ2As8aYzZIyJ3iMgdACIyXkQq\ngC8C3xKRChHJ6O/ccH0xavRYt6sKl9uwZn6Qt4TaT8D2P8Dcj1q7UEXJYKme3Gj3+MGaydxeZ12v\nIExKn8Tc3Lka+EewODuFjDHrgHV+rz3g87gaK41j61ylBvPsjkpmjU/n9IIgb8y+fS/0dVmpjCjp\ndfXS0tMyYKrngx5/FAN/0UqYusIa/bTwZohPsn3q5dMu556t91DWVMb0rOlhbKQKh5i5uauU17GG\nDrYfbeLq+RODO7G9HrY8ZN24zDsjPI2zwTtrN9ByDV7ehdqiMpbf1/lfhdYqeOfxoE67rOgyHOLg\nhXLt9Y9EGvhVzFm707pp+KG5QQb+jfdCbwec95UwtMq+hi5r8lZ/yzUAJMU7SU+M40Q0Uz0A086D\nycusXn+f/T9CeSl5LC5YzAuHX9ClmkcgDfwqphhjePqdShZNzWZyTor9E729/bOuhfxZ4WugDSc6\nTwCQm5w7YLn8jERqWroi0aT+icAFX4WWyqB7/VdOv5IjLUfYWbczTI1T4aKBX8WU7UebKK1t4yPF\nAW8Z9W/jr6GnHc6Pbm8foK7DmoeSlzzwsOT89CRqW2NgH9vpF8KkJfBmcL3+S4suJTkumWdKnwlj\n41Q4aOBXMeWvJcdIjndyZTBpno4G2PIgnHUN5J8ZvsbZVNfpCfwpgwT+jERqW6Pc4wefXn8F7Pij\n7dNS41O5rOgyXjj8Ah29HWFsoAo1DfwqZnT09PGPnce5cu4E0hJtDTizbPy1NRkpyrl9r9qOWjIS\nMkh0DrwwXEFGEjUt3bGRI59xERQWW6uZ9tm/73DNadfQ0dfBK0d1CYeRRAO/ihnrdlXT3uPio4uD\nGH/fVgebHoDZ10BBbCz8WtdRR37K4JvC56cn0tPnpqUzCss2+BOBC78OzcespRxsWpi/kCnpU3j6\n4NA2clfRoYFfxYwnS44xLTeV4qn9j4Y5xfr/s8btr/pW+BoWpBOdJwbN7wPkpVv/EcREugesXv/U\nlbD+x9DdZusUEeHamddSUlPC0ZajYW6gChUN/ComlNa2seVwA9cXT7K/RENjOZT8zlpmOHdmWNsX\njNrO2kHz+2ClegBqWmLgBi9Yvf6Lv2PN5t30G9unfWj6h3CKk78d+FvYmqZCSwO/igmPbywnweng\nI8VBpHle/4G1neIFsbOxm9u4OdFhr8efH2s9foDJi2HWVdbqpu31tk4pSC1g1ZRVPFX6FF19MfS1\nqH5p4FdR19rVy9+2VXDV3AnkptncKat6N7z7pLWjVEaQE73CqKm7iT7TZ6vHn+/p8cfEkE5fq/4b\netutTeptunHWjTR3N+v6PSOEBn4VdU9tr6S9x8XN5xTZP+nV70FShrXQWAyxO4YfIC0xjtQEZ/Qn\ncfnLnwXz/t2aENd0bPDyQHFBMadlncaf9/05NkYpqQFp4FdRZYzhsY3lzJucxbzJgbcpPEXZv+Dg\nS7DiC5AcxI3gCPBuSWhnVA9Yvf6Y6/HDB+mzV79nq7iIcOOsG9nbsFdn8o4AGvhVVG0oPUFZXTu3\nnDPV3gmuPnjx65A1BZZ9JryNGwLv5K3BlmvwGp+RRFVTcOvhR0TWZDjns9aGNse22DrlqulXkR6f\nzh/32p8EpqJDA7+KqgfXl5GblsgVcybYO2H7o1C7By79flDLCEdKVXsVglCQUmCrfGF2MsebYizV\n47XyPyFtPLzwVXC7By2eEp/Ch0//MP888k+OtdpLEano0MCvomZXRTNvHjzBp86dRmJc4E3JT9LZ\nCK/9LxSdC2deHf4GDsHxtuPkpeQR74y3VX5iVjI1rV309A0eWCMuMQ0u+S4c3w7v/sXWKR+f/XGc\n4uSxPY+FuXFqODTwq6i5/41S0pPi+NjSKfZOeOMe6GqC1T+0xpzHoKr2Kiam2h9lNCkrGWOgujlG\ne/1zPgKFi+CV79ia1JWfks/VM67mmdJn3l+lVMUeDfwqKg7VtfHinmpuWj6V9CQbvePq3dZCbAtv\ntvaLjVHH244zIc1m2gor1QNQGYt5fgCHA1bfA23V8MYPbZ1yy1m30OPq4U97/xTmxqmh0sCvouK3\n/zpEgtPBrSumDV7Y7YJ/fB6Ss+Cib4e/cUPkcruoaa+hMM3+PsGFWTEe+MGa1LXoFms2b9XgI3aK\nMou4ZOolPLHvCVp7WsPfPhU0W4FfRFaLyH4RKRWRU6ZJiuVXnuPvishCn2PlIrJLRHaISEkoG69G\npvIT7fx9eyU3Lplib8JWye+gsgQu+yGk9L+PbbTVddbRZ/qYkGq/xz8+07pBfTyWAz9YSzmkjLP+\nALtdgxb/j7n/QWtvq+b6Y9SggV9EnMB9wOXAbOBGEfFfBvFyYKbn4zbAf6GPC40x840xxcNvshrp\nfvbyARKcDj5z4YzBC7dUWWPJp18Icz8S/sYNQ1V7FQAT0+zn+JPineSlJ1LZGOOBPzkbLv8RHH/H\nSrkNYlbOLC4ruow/vPcHzfXHIDs9/iVAqTGmzBjTAzwBrPErswb4g7FsArJExH63R40Z7x1vYe3O\n49y6ooj89EGGYxoD6/4LXD1w1c9i9oauV2VbJUBQN3fBSvfEdKrH66zr4LRL4NW7bc3ovWv+XfS4\nenh418MRaJwKhp3AXwj4fpcrPK/ZLWOAV0Rkm4jcNtSGqtHhJ//cT0ZSHLefZ6O3v/MJ2PccXPgN\nyJke/sYNU1Wb1eMP5uYujKDALwJX/tT6/OxnBh3bX5RZxDWnXcOT+5/keNvxCDVS2RGJm7srjTHz\nsdJBd4rIeYEKichtIlIiIiV1dXURaJaKtPUH6nhtXy2fvuA0MlMGGcnTdAxe+ApMOQeW3xWZBg5T\nZVslOUk5JMclB3XelHEpVDR20OeKwbH8/rKnwmU/gMPrYfMDgxa/Y94dCMIvtv8iAo1TdtkJ/JWA\n71q5kzyv2SpjjPF+rgWexkodncIY86AxptgYU5yXN/gCV2pk6XW5+d5z7zF1XAqfWFk0cGG3G575\nNBg3XHO/tfTyCHC09ShT0m3OSfAxPTeVXpehItbz/F4Lb4LTL7fG9tfuHbDo+NTx3Hr2rbxw+AW2\nVm+NTPvUoOwE/q3ATBGZJiIJwA3AWr8ya4GbPKN7lgHNxpgqEUkVkXQAEUkFLgV2h7D9aoT4w8Yj\nlNa28d9Xzh58lu7GX0P5m1bPMsfGcM8YcaT5CFMzbK455GN6XioAZSfs7XoVdSJw9a8gMR2e+g/o\nHXjy2SfnfJKJqRP5weYf0OvujVAj1UAGDfzGmD7gLuAlYC/wpDFmj4jcISJ3eIqtA8qAUuAhwLt6\nVgGwQUR2AluA540xL4b4a1Axrrq5i1+8fIDzT8/jojMHWbXyyEarJ3nmh6ye5QjR0dtBbWctRZlF\nQZ87PTcNgLK69hC3KozS8mHNr6F6F7w48EY4yXHJfGXJVyhtKuUv++wt/aDCK85OIWPMOqzg7vva\nAz6PDXBngPPKgHnDbKMawYwxfOuZXfS63Xz36rMG3laxrQ7+dquVR15zX8yP4vF1pOUIwJB6/Nmp\nCWSlxFN2YgQFfoAzLocVn7d265qyDObd0G/RVZNXsaJwBb/e8WtWTVkV1JBXFXo6c1eF1dqdx3ll\nby1fuuQMinJT+y/odsFTn4KOBrj+MUjKjFwjQ2A4gR+sPP/hkdTj91r1bWuD9n98AWr29FtMRPjv\nZf+NMYZvv/1t3GYE3MgexTTwq7CpbeniO2v3MG9yFp9YOUiu/sWvQ9kbcOVPYMLciLQvlA43H0aQ\nId3cBZiWmzZycvy+nHHwb7+zdkP7843Q3v9krcK0Qr5U/CU2V23mr/v/GsFGKn8a+FVYuNyGL/xl\nB529Ln56/VycjgHSNpt/C1t+aw3bHEF5fV8HGg8wJWMKSXFD2yNgel4qNS3dtHX3hbhlEZBeADf8\nGdpq4M83QG//o5OuP/16lk9Yzk+3/ZRDTYci2EjlSwO/CovfvFHK24fq+d7VZ3Nafnr/BQ+8ZN0c\nPONKuMTeNn+x6EDjAU7PPn3I559RYF2jfVUtoWpSZE1aBNc9CBUl8PQd/U7uEhG+v/L7JMcl86U3\nvkRHb0eEG6pAA78Kg7dKT/DzVw5y9byJXF88qf+C5W/Bk55llj/80IgZr++vo7eDY63HhhX4zyrM\nAOC9kRr4AWavsf54v/eMNfmun03X81Py+dG5P6KsuYy7N92tm7NHgQZ+FVJldW18+v9t47S8NH5w\n3Zz+R/FUbIM/fcTa2/Vjf4eEAW78xrjSplIMZliBf3xGEtkp8eypHMGBH6x9es/5LGx9CP75rX6D\n//KJy/n0/E/zXNlzPLrn0ci2UdkbzqmUHY3tPXzqsRLinQ4evrmYtMR+frwqtsH/uw5Sc+GmZyFt\nZM/U3tewD4Azcs4Ych0iwlkTM9lT1RyqZkWHCFxyN/T1WBPxnPFw0f8EHJp7+9zbOdR0iJ9t+xmF\naYVcWnRpFBo8NmmPX4VEa1cvN/9+CxVNnTzw8UVMzkkJXLDsDXjsQ9amKjethYyRP557Z91OxiWN\nC3pVTn9nFWZwoLqNrt7B17uPaSJw+T2w6FbY8HN4/osB1/B3iIPvr/g+8/Lm8Y0N32BL1ZYoNHZs\n0sCvhq2zx8UnHyvhveMt3P/vC1lc1M9mKbufgj9eD9lF8ImXrIlao8CO2h3Mz58/8OQ0GxZNyabH\n5ebdihHe6wcr+F/1c1jxBWsjnSdvCjjaJykuiV+t+hWT0iZx12t36Xo+EaKBXw1Lc0cvH39kM1vL\nG/jZR+dz8eyCUwu53fDa961ZuRMXwi3PQfr4yDc2DOo76znaepR5ecOfoO79g7m1vGHYdcUEEbjk\nu7D6R9by2o99CJr913eEnKQcHr7sYSakTuDOV+/U4B8BGvjVkFU3d/HRBzfybkUz9/37Qq6eFyDV\n0dkIf/kYrP8/WPBxuHltTG+fGKzttdsBmJ8/f9h1ZacmMDM/jS2HR0ng91r2afjIH6DmPXjwfDj8\n5ilFcpNzeeSyR5iQOoHbX76d58qei0JDxw4N/GpIthxu4Kp7N3CsoYPf3bKYK+YE2Hyk7F/wmxVw\n8J9w+Y/h6nshzsYeuyPIhsoNpMenMyd3TkjqWzZ9HFvLG0Z+nt/f7DVw2+vWFo5/WAOv/8C6Aewj\nNzmXP1z+B+bnz+frb36d+3fcr0s7hIkGfhUUt9vwyIbD/PtDm0hPiuPpO1ewcmbuyYW6W60lGP5w\nNcQnwydfhqW3j6hF1+wwxrChYgPLJy4nzhGaAXIXnZlPR4+LjWX1IakvpuSdAf/xGsz5N/jXPfDQ\nKqh696QimYmZ/Pbi33L1jKv5zc7fcPvLt+uevWGggV/ZdrS+gxsf2sTdz73HBWfk8+xdKzi9wGdW\nrjGw62/w68Ww6X4o/iTcvh4KF0av0WG0p34PtZ21nDvp3JDVuXzGOFITnLz8Xk3I6owpienWDN8b\n/mQt8fDgBbDuK9bifB7xzni+v+L7fPec77KjdgcfXvthXix/USd6hZAGfjWozh4Xv3r1IJf9Yj3v\nHW/hxx+ey0M3LSIjybN9ojFw6HV45FL4+yettdo/+Yq1QfoInpg1mGdLnyXRmciqKatCVmdinJML\nZ+WzblfV6Ev3+Jp1Jdy5GRbdbE32+tUCePvX0GOtUCoiXDfzOp646gkKUgr48r++zKdf+fT7q6Cq\n4ZFY/CtaXFxsSkpKot2MMa+r18VT2yv51asHqW7pYvVZ4/n2h2YzMcuzp6yrDw68aE3UOboRMgrh\nvC9bC62N0OUX7Orq6+Kiv17EisIV/Pi8H4e07rdKT/Cxhzfzyxvms2Z+YUjrjkk1e+Clb0LZ65Ay\nzroZXPzJ9wcBuNwuntj/BPe+cy9dfV1cPeNqbp93O4VpY+DaBEFEthljim2V1cCv/NW1dvPXbcf4\n/Vvl1LV2M29yFt+84kyWTPOMxmk6BruehJLfQ/MxyJgEK79gBfxRdvO2P4+/9zg/3vpjHl39KIsK\nFoW0brfbsOqnb5CSEMdzn12JY6CVTUeTo5vhzZ9YgwGcidYN4UW3wNRzQIQTnSd4ZNcj/GX/XzAY\nLp16KTfOupF5efOGPYdiNNDAr4LW1t3Hv/bX8dT2Ct44UIfLbTh3Zi6fPn8Gy6fnII2H4eDLsOcp\nOLbZOmna+bDkNjh9tbUu+xjR3N3MmmfWMCNrBo9c9khY3uPpdyr4z7/s5Ocfnce1CwZY6G40qtkD\n2x6FnX+B7mbrP8lZV1rbcU45h+quEzy651GeLX2Wtt42ZmbPZHXRai6deumQtr4cLUIe+EVkNfBL\nwAk8bIz5kd9x8Ry/AugAbjHGbLdzbiAa+MOvu8/FnuMtlJQ38K8DdWw53ECvy1CQkch18ydww/Qu\npnbth6ObrH/Bm45aJ+afBWdfZ33kTI/uFxEFbuPmy//6Mq8dfY0/Xfknzhx3Znjex2249jdvc7iu\njec/d27/S2CMZj0dsPcfsHctlL4CfV2QkA5TlkLRSjoKi1nXVcEzh59nZ91OAGZkzmDphKUsGb+E\n4vHFZCaOrJ3chiOkgV9EnMAB4BKgAtgK3GiMec+nzBXAZ7EC/1Lgl8aYpXbODUQDf+i43Iaq5k7K\n6to5VNfGobo2dle28N7xFoyrh0lSx4rsJi7IbeHspDoKusqR6nehx7MbVGIGFJ0LMy6EGatg3Izo\nfkFR1O3q5vubvs8zpc/wxUVf5Nazbw3r+x2pb+eqezeQlRLPIzcvPnkE1VjT0w6lr1prPR15C+qs\nhfEQB4w7jeq803klJZH1vfW8015Bl9uaIzApbRKzcmZxRs4ZzMyaSWF6IYVphaQnjL5rGerAvxz4\njjHmMs/zrwMYY37oU+a3wBvGmD97nu8HLgCKBjs3EA381hjxXpeh1+Wmp89Nr8tNd5+b3r4+enu7\n6erspK2jk47OTjo7O+ns6qSzs4vOjla6Whvpbm+mr6MZ091CqukkXTrIkRYmOpspjGsll0ZS+vzW\nhEnKhHEzYeJ8a2mFwoWQe/qov1HbH2MMLT0tHGk5wuaqzTx54Emq26u5fe7t3Dn/zojkld+taOLW\n32+ltauPq+dPZPVZ45kzKZPctMSBdzUb7drq4NgmqN4F1butz83Wf6W9wK7ERLalprMvJY39ccJR\nceEb6TKdSUxMyCInIZPsxCyyk7LJSc4lKymb1IR0UuLTSE5IIyUxw/pISCfeEU+cI+79z3GOOBwS\nOwMjgwn8dhKzhcAxn+cVWL36wcoU2jw3ZNY8NIdeTv1DZgD/XxEjvkcD8HnZBPX7ZTAnvdvAf1iD\nucMi/ZQ+pX3xQBaYrJPPRhzgcGLECY58kAlWUHfEYRxO6zhAxw4o3QGlvxvg8gS6zv20r5/ORX/l\nQ1FHwPYFWUevq5cuV9f7zxfmL+R/V/wvSyYsGay5ITN3UhYv/ed5/OrVg/xtWwV/21YBgEMgMzme\neKfD8yE4HHLKz7kdQ/kDFht/cjKAFZ4PSErvZLy7hgnuGutzWw0famnk46aZeJppjWulydlDVbyD\nirg4quIaaXQ6KHc4aXA66HQEH8QdxhAHOA3EGXBi8H4XxPNjJXxwvbzvIADmg2Pe4+nuOP52247g\nL0WQYuaOnIjcBtwGMGXK0DaszjfpuHyneIv3k/XA+wfAeJ70/2tiHTHiKT9AWas+eb9e3+f+7Tj1\n10X8XvU89/wkOBBEPHU5HCAORByIOBGHA4fTicPhxOl0EhcXh9PhtAK5MwEc8eCMR5wJ1profr/c\ngb6e/gJAsOEkUD39X79+Xg8iGAVTRzBl4ySOvJQ8JqZNZEH+AnKTcwOcGX65aYl8b83ZfOOKM9l5\nrIkDNa3UtnbT2NFDn+uD/wxdQxmoMaRTYm9AiCUNyOMEZ3MC2B2ghBgXye52Et2djHd3MtV0kuTu\nJLGnE6e7hR7acZsuXNJNHz246KGXHvrowU0fhj4MblwYXLgxYn12YXBjcIlBMD7XyPvI97P3ke/l\nt15NkqHt2RwsO4G/Epjs83yS5zU7ZeJtnAuAMeZB4EGwUj022nWKh257eyinKTUiJMU7WTp9HEun\nj4t2U9QIZ+d/m63ATBGZJiIJwA3AWr8ya4GbxLIMaDbGVNk8VymlVAQN2uM3xvSJyF3AS1hDMn9n\njNkjInd4jj8ArMMa0VOKNZzz1oHODctXopRSyhadwKWUUqNAMKN6YmcsklJKqYjQwK+UUmOMBn6l\nlBpjNPArpdQYo4FfKaXGmJgc1SMidcBQt9rJBWJxk05tV3C0XcHRdgVnNLZrqjEmz07BmAz8wyEi\nJXaHNEWStis42q7gaLuCM9bbpakepZQaYzTwK6XUGDMaA/+D0W5AP7RdwdF2BUfbFZwx3a5Rl+NX\nSik1sNHY41dKKTWAERn4ReR6EdkjIm4RKfY79nURKRWR/SJyWT/n54jIyyJy0PM5Owxt/IuI7PB8\nlItIwG11PMd2ecqFfWU6EfmOiFT6tO2Kfsqt9lzDUhH5WgTa9X8isk9E3hWRp0Ukq59yEbleg339\nniXIf+U5/q6ILAxXW3zec7KIvC4i73l+/j8foMwFItLs8/39drjb5XnfAb8vUbpeZ/hchx0i0iIi\nX/ArE5HrJSK/E5FaEdnt85qtOBSW30VjzIj7AM4EzgDeAIp9Xp8N7AQSgWnAIcAZ4PwfA1/zPP4a\ncE+Y2/tT4Nv9HCsHciN47b4D/NcgZZyeazcdSPBc09lhbtelQJzn8T39fU8icb3sfP1Yy5C/gLVt\n2jJgcwS+dxOAhZ7H6cCBAO26AHguUj9Pdr8v0bheAb6n1Vhj3SN+vYDzgIXAbp/XBo1D4fpdHJE9\nfs4dOZcAAAOPSURBVGPMXmPM/gCH1gBPGGO6jTGHsfYHCLRB6hrgMc/jx4BrwtNSq6cDfAT4c7je\nIwyWAKXGmDJjTA/wBNY1CxtjzD+NMX2ep5uwdmuLFjtf/xrgD8ayCcgSkQnhbJQxpsoYs93zuBXY\ni7Wv9UgQ8evl5yLgkDFmqBNDh8UYsx5o8HvZThwKy+/iiAz8A+hv03d/BcbaIQysXkBBGNt0LlBj\njDnYz3EDvCIi28TadzgSPuv5d/t3/fx7afc6hssnsHqHgUTietn5+qN6jUSkCFgAbA5w+BzP9/cF\nETkrQk0a7PsS7Z+pG+i/8xWN6wX24lBYrlvMbLbuT0ReAcYHOPRNY8yzoXofY4wRkSENbbLZxhsZ\nuLe/0hhTKSL5wMsiss/TOxiygdoF/Aa4G+sX9W6sNNQnhvN+oWiX93qJyDeBPuCP/VQT8us10ohI\nGvB34AvGmBa/w9uBKcaYNs/9m2eAmRFoVsx+X8Ta9vVq4OsBDkfrep1kOHFoKGI28BtjLh7CaXY2\nhgeoEZEJxpgqz7+bteFoo4jEAdcBiwaoo9LzuVZEnsb6125YvzB2r52IPAQ8F+CQ3esY0naJyC3A\nVcBFxpPgDFBHyK9XAHa+/rBco8GISDxW0P+jMeYp/+O+fwiMMetE5H4RyTXGhHVdGhvfl6hcL4/L\nge3GmBr/A9G6Xh524lBYrttoS/WsBW4QkUQRmYb1l3tLP+Vu9jy+GQjZfxB+Lgb2GWMqAh0UkVQR\nSfc+xrrBuTtQ2VDxy6te28/7bQVmisg0T2/pBqxrFs52rQa+AlxtjOnop0ykrpedr38tcJNntMoy\noNnn3/aw8NwvegTYa4z5WT9lxnvKISJLsH7H68PcLjvfl4hfLx/9/tcdjevlw04cCs/vYrjvZofj\nAytgVQDdQA3wks+xb2LdBd8PXO7z+sN4RgAB44BXgYPAK0BOmNr5KHCH32sTgXWex9Ox7tLvBPZg\npTzCfe0eB3YB73p+gCb4t8vz/AqsUSOHItSuUqxc5g7PxwPRvF6Bvn7gDu/3E2t0yn2e47vwGV0W\nxjatxErRvetzna7wa9ddnmuzE+sm+TkRaFfA70u0r5fnfVOxAnmmz2sRv15Yf3iqgF5P7Ppkf3Eo\nEr+LOnNXKaXGmNGW6lFKKTUIDfxKKTXGaOBXSqkxRgO/UkqNMRr4lVJqjNHAr5RSY4wGfqWUGmM0\n8Cul1Bjz/wP+ukXUk1QynQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x4a728c7e10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# overlay of a normal distribution (yellow), with 2 skewed distributions (green and blue)\n",
    "\n",
    "for a in [-5,0,5]:\n",
    "    p = skew(x,e,w,a)\n",
    "    plot(x,p)\n",
    "\n",
    "show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the figure above, we can see more clearly, how in a variable with a Gaussian distribution, the different observations can take values in a wider value range, than in a skewed variable, where the majority of values are concentrated on one end.\n",
    "\n",
    "### What can we do if variables are skewed?\n",
    "\n",
    "If the performance o the machine learning model is poor due to the skewed distribution of the variables, there are two strategies available to improve performance:\n",
    "\n",
    "1. Find a transformation of the variable X that stabilizes the variance and generates more consistent support across the range of values (a transformation that gives the variable more of the bell-shape of the Gaussian Distribution).\n",
    "\n",
    "2. Choose an appropriate binning transformation (discretisation) in order to  enable each portion of the predictors' ranges to be weighted appropriately.\n",
    "\n",
    "**I will discuss these 2 methods in more detail in sections 14 and 15.\n",
    "\n",
    "In this notebook, I will discuss some diagnostic methods to determine whether the variables have an approximate normal distribution, and make some experiments to see how normality affects the performance of machine learning algorithms."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "=============================================================================\n",
    "\n",
    "## Real Life example: \n",
    "\n",
    "### Predicting Survival on the Titanic: understanding society behaviour and beliefs\n",
    "\n",
    "Perhaps one of the most infamous shipwrecks in history, the Titanic sank after colliding with an iceberg, killing 1502 out of 2224 people on board. Interestingly, by analysing the probability of survival based on few attributes like gender, age, and social status, we can make very accurate predictions on which passengers would survive. Some groups of people were more likely to survive than others, such as women, children, and the upper-class. Therefore, we can learn about the society priorities and privileges at the time.\n",
    "\n",
    "\n",
    "### Predicting Sale Price of Houses\n",
    "\n",
    "The problem at hand aims to predict the final sale price of homes based on different explanatory variables describing aspects of residential homes. Predicting house prices is useful to identify fruitful investments, or to determine whether the price advertised for a house is over or underestimated, before making a buying judgment.\n",
    "\n",
    "\n",
    "## Titanic dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "% matplotlib inline\n",
    "\n",
    "import pylab \n",
    "import scipy.stats as stats\n",
    "\n",
    "# for regression problems\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "\n",
    "\n",
    "# for classification\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.svm import SVC\n",
    "\n",
    "# to split and standarize the datasets\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "# to evaluate regression models\n",
    "from sklearn.metrics import mean_squared_error\n",
    "\n",
    "# to evaluate classification models\n",
    "from sklearn.metrics import roc_auc_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Age</th>\n",
       "      <th>Fare</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>22.0</td>\n",
       "      <td>7.2500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>38.0</td>\n",
       "      <td>71.2833</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>26.0</td>\n",
       "      <td>7.9250</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>35.0</td>\n",
       "      <td>53.1000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>35.0</td>\n",
       "      <td>8.0500</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass   Age     Fare\n",
       "0         0       3  22.0   7.2500\n",
       "1         1       1  38.0  71.2833\n",
       "2         1       3  26.0   7.9250\n",
       "3         1       1  35.0  53.1000\n",
       "4         0       3  35.0   8.0500"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# load the numerical variables of the Titanic Dataset\n",
    "data = pd.read_csv('titanic.csv', usecols = ['Pclass', 'Age', 'Fare', 'Survived'])\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Age"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x4a7519f9b0>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nPZ379+8f+tjz8/PMzMwMvV3b2s41uev+WtvtnFpk96Hal2Va1dVsO6cWec9bbxx3jJc4X5/7TXQ1\nW5NcEXFWRT+KqZub6Zu2iYiNfY+9BTg8gmNIkmpqdAoVEeuBXwTe2Tf8byJiC0tTN0dWPCZJWmON\nij4znwd+csXY2xolkiSNlO+MlaTCde/ql9QxdS9+N3Xkg28ay3FVHs/oJalwFr0kFc6il6TCWfSS\nVDiLXpIKZ9FLUuEsekkqnEUvSYWz6CWpcBa9JBXOopekwln0klQ4i16SCmfRS1LhLHpJKpxFL0mF\ns+glqXAWvSQVrohfJeivepOk02tU9BFxBPgb4EVgMTOnI+JS4BPAJHAEuCkzn2sWU5JU1yimbmYz\nc0tmTlfLu4CHMvNq4KFqWZI0Jm3M0d8IfKy6/zHgV1o4hiTpLEVm1t844mngJEtTN/8xM/dExPcy\n8+Lq8QCeW15ese0OYAdAr9fbOjc3N/TxFxYWmJiY4NCxk7X/Dk1Mbdqw6vhyrrbU/fv21sHxUyMO\nMyJdzTbOXKd7fkH7z7G6upoLuputSa7Z2dkDfbMpp9W06Ddl5rGIeDnwIPAe4L7+Yo+I5zLzkjPt\nZ3p6Ovfv3z/08efn55mZmencxdjlXG2p+/fdObXI7kPdvP7e1WzjzHWmi/1tP8fq6mou6G62Jrki\n4qyKvtHUTWYeq/48AdwLXA8cj4iNVYiNwIkmx5AkNVO76CNifUS8bPk+8HrgMHAfcEu12i3AZ5qG\nlCTV1+Rn0h5w79I0PBcCf5SZfxIRXwY+GRHvAL4B3NQ8piSprtpFn5lfB165yvh3gRuahDpXnG6u\nfOfUIreO6bqBJK3UvatfkoAzX3Rv+2TCd32Xxc+6kaTCWfSSVDiLXpIKZ9FLUuEsekkqnEUvSYWz\n6CWpcBa9JBXOopekwln0klQ4i16SCmfRS1LhLHpJKpxFL0mFs+glqXAWvSQVzqKXpMJZ9JJUOIte\nkgpXu+gj4sqIeDgiHouIRyPivdX4+yPiWEQcrG5vHF1cSdKwmvxy8EVgZ2Z+JSJeBhyIiAerxz6c\nmR9qHk+S1FTtos/MZ4Bnqvt/ExGPA5tGFUySNBojmaOPiEngVcCfV0PviYhHIuLOiLhkFMeQJNUT\nmdlsBxETwOeB2zPzUxHRA74DJPABYGNmvn2V7XYAOwB6vd7Wubm5oY+9sLDAxMQEh46dbPJXGLne\n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\nPtQLY00AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x4a6ecc17f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot the histograms to have a quick look at the distributions\n",
    "\n",
    "data.Age.hist()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "One way of assessing whether the distribution is approximately normal is to evaluate the Quantile-Quantile plot (Q-Q plot).\n",
    "\n",
    "In a QQ-plot, the quantiles of the variable are plotted on the vertical axis, and the quantiles of a specified probability distribution (Gaussian distribution) are on the horizontal axis. The plot consists of a series of points that show the relationship between the real data and the specified probability distribution. If the values of a variable perfectly match the specified probability distribution, the points on the graph will form a 45 degree line. See below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x4a7626af98>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# let's plot the Q-Q plot for the variable Age.\n",
    "temp = data.dropna(subset=['Age'])\n",
    "stats.probplot(temp.Age, dist=\"norm\", plot=pylab)\n",
    "pylab.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The majority of the observations lie on the 45 degree red line following the expected quantiles of the theoretical Gaussian distribution. Some observations at the lower end of the value range depart from the red line, and this is consistant with the slight shift towards the left in the variable distribution observed in the histogram above."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x4a76b09588>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nJBXOopekwv0v+H1IivZ1SjwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x4a76b82da0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# let's apply a transformation and see what it does to the distribution\n",
    "(data.Age**(1/1.5)).hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nuYT8PxPPO2jKfuD/AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x4a76262898>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# and now the effect of the transformation on the Q-Q plot\n",
    "stats.probplot((temp.Age**(1/1.5)), dist=\"norm\", plot=pylab)\n",
    "pylab.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The variable transformation did not end up in Gaussian distribution of the transformed Age values."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Fare"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x4a76c33908>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x4a7627bda0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# let's have a look at the Fare variable \n",
    "\n",
    "data.Fare.hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x4a6ecdac18>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# and the Q-Q plot\n",
    "stats.probplot(data.Fare, dist=\"norm\", plot=pylab)\n",
    "pylab.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Both from the histogram and from the Q-Qplot it is clear that Fare does not follow a Gaussian distribution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x4a76dbb668>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFFRJREFUeJzt3W+MXfV95/H3py5LEE4DiOzIsS2ZB24kE6tEGdFKrFbj\nRCkUoppIFTKiKSjsOg8oolpLlemTJoos8aAkfZBlJaegepc0s1b+CAuSrghlNopU4mBKYmzCxlrM\nguXgTULSTBSxGvLdB3NIL67tuTN37r3M775f0tWc87vnd873p3vnM8fH50+qCklSu35j3AVIkobL\noJekxhn0ktQ4g16SGmfQS1LjDHpJapxBL0mNM+glqXEGvSQ17jfHXQDAlVdeWVu2bFlx/1/84hdc\neumlq1fQGjPJ45/ksYPjn/TxHzly5EdV9e6llntbBP2WLVt4+umnV9x/bm6OmZmZ1StojZnk8U/y\n2MHxT/r4k7zUz3IeupGkxhn0ktQ4g16SGmfQS1LjDHpJapxBL0mNM+glqXEGvSQ1zqCXpMa9La6M\n1dqxZe9jY9nuyftuGst2pRa4Ry9Jjes76JOsS/JPSR7t5q9I8niSH3Q/L+9Z9t4kJ5K8kOT6YRQu\nSerPcvbo7wGe75nfCzxRVVuBJ7p5kmwDdgFXAzcADyRZtzrlSpKWq6+gT7IJuAn4m57mncCBbvoA\ncHNP+2xVvV5VLwIngGtXp1xJ0nL1u0f/18CfA7/qaZuqqtPd9A+BqW56I/Byz3KvdG2SpDFY8qyb\nJB8BzlTVkSQz51qmqipJLWfDSXYDuwGmpqaYm5tbTve3mJ+fH6j/WjfK8e/ZvjCS7ZztfOPzs3f8\nkzz+fvVzeuV1wB8muRF4B/BbSR4GXk2yoapOJ9kAnOmWPwVs7um/qWt7i6raD+wHmJ6erkEeHjDp\nDx8Y5fjvGNfplbfNnLPdz97xT/L4+7XkoZuqureqNlXVFhb/k/UfquqPgUPA7d1itwOPdNOHgF1J\nLk5yFbAVOLzqlUuS+jLIBVP3AQeT3Am8BNwCUFXHkhwEjgMLwF1V9cbAlUqSVmRZQV9Vc8BcN/1j\n4EPnWW4fsG/A2iRJq8ArYyWpcQa9JDXOoJekxhn0ktQ4g16SGmfQS1LjDHpJapxBL0mNM+glqXEG\nvSQ1zqCXpMYZ9JLUOINekhpn0EtS4wx6SWqcQS9JjVsy6JO8I8nhJN9NcizJp7r2TyY5leTZ7nVj\nT597k5xI8kKS64c5AEnShfXzhKnXgQ9W1XySi4BvJfl6995nq+qvehdOso3FZ8teDbwH+EaS3/Zx\ngpI0Hv08HLyqar6bvah71QW67ARmq+r1qnoROAFcO3ClkqQV6esYfZJ1SZ4FzgCPV9W3u7fuTvK9\nJA8lubxr2wi83NP9la5NkjQGqbrQzvlZCyeXAV8F7gb+L/AjFvfuPw1sqKqPJ/kc8FRVPdz1eRD4\nelV96ax17QZ2A0xNTX1gdnZ2xYOYn59n/fr1K+6/1o1y/EdP/Wwk2znb9o3vOme7n73jn+Tx79ix\n40hVTS+1XD/H6H+tqn6a5Enght5j80k+DzzazZ4CNvd029S1nb2u/cB+gOnp6ZqZmVlOKW8xNzfH\nIP3XulGO/469j41kO2c7edvMOdv97B3/JI+/X/2cdfPubk+eJJcAHwa+n2RDz2IfBZ7rpg8Bu5Jc\nnOQqYCtweHXLliT1q589+g3AgSTrWPzDcLCqHk3y35Jcw+Khm5PAJwCq6liSg8BxYAG4yzNuJGl8\nlgz6qvoe8P5ztH/sAn32AfsGK02StBq8MlaSGmfQS1LjDHpJapxBL0mNM+glqXEGvSQ1zqCXpMYZ\n9JLUOINekhpn0EtS4wx6SWqcQS9JjTPoJalxBr0kNc6gl6TGGfSS1Lh+HiX4jiSHk3w3ybEkn+ra\nr0jyeJIfdD8v7+lzb5ITSV5Icv0wByBJurB+9uhfBz5YVb8DXAPckOT3gL3AE1W1FXiimyfJNmAX\ncDVwA/BA9xhCSdIYLBn0tWi+m72oexWwEzjQtR8Abu6mdwKzVfV6Vb0InACuXdWqJUl96+sYfZJ1\nSZ4FzgCPV9W3gamqOt0t8kNgqpveCLzc0/2Vrk2SNAZLPhwcoKreAK5Jchnw1STvO+v9SlLL2XCS\n3cBugKmpKebm5pbT/S3m5+cH6r/WjXL8e7YvjGQ7Zzvf+PzsHf8kj79ffQX9m6rqp0meZPHY+6tJ\nNlTV6SQbWNzbBzgFbO7ptqlrO3td+4H9ANPT0zUzM7OC8hfNzc0xSP+1bpTjv2PvYyPZztlO3jZz\nznY/e8c/yePvVz9n3by725MnySXAh4HvA4eA27vFbgce6aYPAbuSXJzkKmArcHi1C5ck9aefPfoN\nwIHuzJnfAA5W1aNJ/hE4mORO4CXgFoCqOpbkIHAcWADu6g79SJLGYMmgr6rvAe8/R/uPgQ+dp88+\nYN/A1UmSBuaVsZLUOINekhpn0EtS4wx6SWqcQS9JjTPoJalxBr0kNc6gl6TGGfSS1DiDXpIaZ9BL\nUuMMeklqnEEvSY0z6CWpcQa9JDXOoJekxvXzKMHNSZ5McjzJsST3dO2fTHIqybPd68aePvcmOZHk\nhSTXD3MAkqQL6+dRggvAnqp6Jsk7gSNJHu/e+2xV/VXvwkm2AbuAq4H3AN9I8ts+TlCSxmPJPfqq\nOl1Vz3TTPweeBzZeoMtOYLaqXq+qF4ETwLWrUawkafn62aP/tSRbWHx+7LeB64C7k/wJ8DSLe/2v\nsfhH4Kmebq9w4T8M0pK27H3snO17ti9wx3neWy0n77tpqOuXhi1V1d+CyXrgfwL7quorSaaAHwEF\nfBrYUFUfT/I54Kmqerjr9yDw9ar60lnr2w3sBpiamvrA7OzsigcxPz/P+vXrV9x/rRvl+I+e+tlI\nttOvqUvg1V8OdxvbN75ruBsYgN/9yR7/jh07jlTV9FLL9bVHn+Qi4MvAF6rqKwBV9WrP+58HHu1m\nTwGbe7pv6treoqr2A/sBpqena2Zmpp9Szmlubo5B+q91oxz/sPeel2vP9gXuP7qsf5gu28nbZoa6\n/kH43Z/s8fern7NuAjwIPF9Vn+lp39Cz2EeB57rpQ8CuJBcnuQrYChxevZIlScvRz67QdcDHgKNJ\nnu3a/gK4Nck1LB66OQl8AqCqjiU5CBxn8YyduzzjRpLGZ8mgr6pvATnHW1+7QJ99wL4B6pIkrRKv\njJWkxhn0ktQ4g16SGmfQS1LjDHpJapxBL0mNM+glqXEGvSQ1zqCXpMYZ9JLUOINekhpn0EtS4wx6\nSWqcQS9JjTPoJalxBr0kNc6gl6TG9fPM2M1JnkxyPMmxJPd07VckeTzJD7qfl/f0uTfJiSQvJLl+\nmAOQJF1YP3v0C8CeqtoG/B5wV5JtwF7giaraCjzRzdO9twu4GrgBeCDJumEUL0la2pJBX1Wnq+qZ\nbvrnwPPARmAncKBb7ABwcze9E5itqter6kXgBHDtahcuSepPqqr/hZMtwDeB9wH/p6ou69oDvFZV\nlyX5HPBUVT3cvfcg8PWq+tJZ69oN7AaYmpr6wOzs7IoHMT8/z/r161fcf60b5fiPnvrZSLbTr6lL\n4NVfDncb2ze+a7gbGIDf/cke/44dO45U1fRSy/1mvytMsh74MvBnVfXPi9m+qKoqSf9/MRb77Af2\nA0xPT9fMzMxyur/F3Nwcg/Rf60Y5/jv2PjaS7fRrz/YF7j/a99d4RU7eNjPU9Q/C7/5kj79ffZ11\nk+QiFkP+C1X1la751SQbuvc3AGe69lPA5p7um7o2SdIY9HPWTYAHgeer6jM9bx0Cbu+mbwce6Wnf\nleTiJFcBW4HDq1eyJGk5+vk373XAx4CjSZ7t2v4CuA84mORO4CXgFoCqOpbkIHCcxTN27qqqN1a9\ncklSX5YM+qr6FpDzvP2h8/TZB+wboC5J0irxylhJapxBL0mNM+glqXEGvSQ1zqCXpMYZ9JLUOINe\nkhpn0EtS4wx6SWqcQS9JjTPoJalxBr0kNc6gl6TGGfSS1DiDXpIaZ9BLUuP6eZTgQ0nOJHmup+2T\nSU4lebZ73djz3r1JTiR5Icn1wypcktSffvbo/xa44Rztn62qa7rX1wCSbAN2AVd3fR5Ism61ipUk\nLd+SQV9V3wR+0uf6dgKzVfV6Vb0InACuHaA+SdKA+nk4+PncneRPgKeBPVX1GrAReKpnmVe6tn8l\nyW5gN8DU1BRzc3MrLmR+fn6g/mvdKMe/Z/vCSLbTr6lLhl/T2/m75Xd/ssffr5UG/X8BPg1U9/N+\n4OPLWUFV7Qf2A0xPT9fMzMwKS1n8RRyk/1o3yvHfsfexkWynX3u2L3D/0UH2V5Z28raZoa5/EH73\nJ3v8/VrRWTdV9WpVvVFVvwI+z78cnjkFbO5ZdFPXJkkakxUFfZINPbMfBd48I+cQsCvJxUmuArYC\nhwcrUZI0iCX/zZvki8AMcGWSV4C/BGaSXMPioZuTwCcAqupYkoPAcWABuKuq3hhO6ZKkfiwZ9FV1\n6zmaH7zA8vuAfYMUJUlaPV4ZK0mNM+glqXEGvSQ1zqCXpMYZ9JLUOINekhpn0EtS4wx6SWqcQS9J\njTPoJalxBr0kNc6gl6TGGfSS1DiDXpIaZ9BLUuMMeklq3JJBn+ShJGeSPNfTdkWSx5P8oPt5ec97\n9yY5keSFJNcPq3BJUn/62aP/W+CGs9r2Ak9U1VbgiW6eJNuAXcDVXZ8HkqxbtWolScu2ZNBX1TeB\nn5zVvBM40E0fAG7uaZ+tqter6kXgBHDtKtUqSVqBlR6jn6qq0930D4Gpbnoj8HLPcq90bZKkMVny\n4eBLqapKUsvtl2Q3sBtgamqKubm5FdcwPz8/UP+1bpTj37N9YSTb6dfUJcOv6e383fK7P9nj79dK\ng/7VJBuq6nSSDcCZrv0UsLlnuU1d279SVfuB/QDT09M1MzOzwlIWfxEH6b/WjXL8d+x9bCTb6dee\n7Qvcf3Tg/ZULOnnbzFDXPwi/+5M9/n6t9DfkEHA7cF/385Ge9r9L8hngPcBW4PCgRUrjtGVMf9xO\n3nfTWLar9iwZ9Em+CMwAVyZ5BfhLFgP+YJI7gZeAWwCq6liSg8BxYAG4q6reGFLtkqQ+LBn0VXXr\ned760HmW3wfsG6QoSdLq8cpYSWqcQS9JjTPoJalxBr0kNc6gl6TGGfSS1LjhXlIoacX6uVBrz/aF\noVyt7MVabXGPXpIaZ9BLUuMMeklqnEEvSY0z6CWpcQa9JDXOoJekxhn0ktQ4g16SGjfQlbFJTgI/\nB94AFqpqOskVwH8HtgAngVuq6rXBypQkrdRq7NHvqKprqmq6m98LPFFVW4EnunlJ0pgM49DNTuBA\nN30AuHkI25Ak9WnQoC/gG0mOJNndtU1V1elu+ofA1IDbkCQNIFW18s7Jxqo6leTfAo8DdwOHquqy\nnmVeq6rLz9F3N7AbYGpq6gOzs7MrrmN+fp7169evuP9aN8rxHz31s5Fsp19Tl8Crvxx3FeMzrPFv\n3/iu1V/pEEz67/6OHTuO9Bw2P6+Bgv4tK0o+CcwD/xGYqarTSTYAc1X13gv1nZ6erqeffnrF256b\nm2NmZmbF/de6UY6/n1vnjtKe7Qvcf3Ry77Y9rPGvldsUT/rvfpK+gn7Fh26SXJrknW9OA78PPAcc\nAm7vFrsdeGSl25AkDW6QXYEp4KtJ3lzP31XV3yf5DnAwyZ3AS8Atg5cpSVqpFQd9Vf1v4HfO0f5j\n4EODFCVJWj1eGStJjTPoJalxBr0kNc6gl6TGGfSS1DiDXpIaZ9BLUuMMeklqnEEvSY0z6CWpcQa9\nJDVucu/vKum83m63oz6fPdsXuGMVal0rt2VeqSaC/uipn63Kh71crX85JLXBQzeS1DiDXpIaZ9BL\nUuOGFvRJbkjyQpITSfYOazuSpAsbStAnWQf8Z+APgG3ArUm2DWNbkqQLG9ZZN9cCJ7rHDZJkFtgJ\nHB/S9iRpxcZ5Oukozt4bVtBvBF7umX8F+N0hbWvinP2lXK1ziSW1KVW1+itN/gi4oar+Qzf/MeB3\nq+pPe5bZDezuZt8LvDDAJq8EfjRA/7Vuksc/yWMHxz/p439vVb1zqYWGtUd/CtjcM7+pa/u1qtoP\n7F+NjSV5uqqmV2Nda9Ekj3+Sxw6O3/Hn6X6WG9ZZN98Btia5Ksm/AXYBh4a0LUnSBQxlj76qFpL8\nKfA/gHXAQ1V1bBjbkiRd2NDudVNVXwO+Nqz1n2VVDgGtYZM8/kkeOzh+x9+HofxnrCTp7cNbIEhS\n49Z00E/ybRaSPJTkTJLnxl3LOCTZnOTJJMeTHEtyz7hrGqUk70hyOMl3u/F/atw1jUOSdUn+Kcmj\n465l1JKcTHI0ybNLnX2zZg/ddLdZ+F/Ah1m8IOs7wK1VNRFX3yb598A88F+r6n3jrmfUkmwANlTV\nM0neCRwBbp6gzz/ApVU1n+Qi4FvAPVX11JhLG6kk/wmYBn6rqj4y7npGKclJYLqqlryOYC3v0f/6\nNgtV9f+AN2+zMBGq6pvAT8Zdx7hU1emqeqab/jnwPItXZE+EWjTfzV7UvdbmXtsKJdkE3AT8zbhr\nebtby0F/rtssTMwvuv5Fki3A+4Fvj7eS0eoOWzwLnAEer6qJGj/w18CfA78adyFjUsA3khzp7jRw\nXms56CWSrAe+DPxZVf3zuOsZpap6o6quYfHK82uTTMwhvCQfAc5U1ZFx1zJG/677/P8AuKs7nHtO\naznol7zNgtrWHZv+MvCFqvrKuOsZl6r6KfAkcMO4axmh64A/7I5TzwIfTPLweEsarao61f08A3yV\nxcPZ57SWg97bLEyw7j8jHwSer6rPjLueUUvy7iSXddOXsHhSwvfHW9XoVNW9VbWpqraw+Lv/D1X1\nx2Mua2SSXNqdhECSS4HfB857Bt6aDfqqWgDevM3C88DBSbrNQpIvAv8IvDfJK0nuHHdNI3Yd8DEW\n9+Se7V43jruoEdoAPJnkeyzu9DxeVRN3iuEEmwK+leS7wGHgsar6+/MtvGZPr5Qk9WfN7tFLkvpj\n0EtS4wx6SWqcQS9JjTPoJalxBr0kNc6gl6TGGfSS1Lj/D2pNaBtbT3qCAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x4a73593c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# and now let's apply a transformation\n",
    "(data.Fare**(1/4)).hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nfBGRAvH/6HFVoImmljYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x4a76c8bb38>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# and the Q-Q plot\n",
    "stats.probplot((data.Fare**(1/4)), dist=\"norm\", plot=pylab)\n",
    "pylab.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can see that after the transformation, the quantiles are somewhat more aligned over the 45 degree line with the theoretical quantiles of the Gaussian distribution. The transformation is not perfect but it does end in a broader distribution of the values over a wider value range of the variable. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Model performance with original and transformed variables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# let's add the transformed variables to the dataset\n",
    "data['Fare_transformed'] = data.Fare**(1/4)\n",
    "data['Age_transformed'] = data.Age**(1/1.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((623, 6), (268, 6))"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# let's separate into training and testing set\n",
    "X_train, X_test, y_train, y_test = train_test_split(data.fillna(0), data.Survived, test_size=0.3,\n",
    "                                                    random_state=0)\n",
    "X_train.shape, X_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# let's scale the features\n",
    "scaler = StandardScaler()\n",
    "X_train_scaled = scaler.fit_transform(X_train)\n",
    "X_test_scaled = scaler.transform(X_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Logistic Regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train set\n",
      "Logistic Regression roc-auc: 0.6863462831608859\n",
      "Test set\n",
      "Logistic Regression roc-auc: 0.7137499999999999\n"
     ]
    }
   ],
   "source": [
    "# model build using the natural distributions\n",
    "\n",
    "logit = LogisticRegression(random_state=44, C=1000) # c big to avoid regularization\n",
    "logit.fit(X_train[['Age', 'Fare']], y_train)\n",
    "print('Train set')\n",
    "pred = logit.predict_proba(X_train[['Age', 'Fare']])\n",
    "print('Logistic Regression roc-auc: {}'.format(roc_auc_score(y_train, pred[:,1])))\n",
    "print('Test set')\n",
    "pred = logit.predict_proba(X_test[['Age', 'Fare']])\n",
    "print('Logistic Regression roc-auc: {}'.format(roc_auc_score(y_test, pred[:,1])))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train set\n",
      "Logistic Regression roc-auc: 0.686790958981367\n",
      "Test set\n",
      "Logistic Regression roc-auc: 0.7275595238095238\n"
     ]
    }
   ],
   "source": [
    "# model built using the transformed variables\n",
    "\n",
    "logit = LogisticRegression(random_state=44, C=1000) # c big to avoid regularization\n",
    "logit.fit(X_train[['Age_transformed', 'Fare_transformed']], y_train)\n",
    "print('Train set')\n",
    "pred = logit.predict_proba(X_train[['Age_transformed', 'Fare_transformed']])\n",
    "print('Logistic Regression roc-auc: {}'.format(roc_auc_score(y_train, pred[:,1])))\n",
    "print('Test set')\n",
    "pred = logit.predict_proba(X_test[['Age_transformed', 'Fare_transformed']])\n",
    "print('Logistic Regression roc-auc: {}'.format(roc_auc_score(y_test, pred[:,1])))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "invalid syntax (<ipython-input-20-7ce70e1b0e76>, line 1)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  File \u001b[1;32m\"<ipython-input-20-7ce70e1b0e76>\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m    Using transformed variables improved the performance of the Logistic Regression model (compare test roc auc: 0.7137 vs 0.7275).\u001b[0m\n\u001b[1;37m                    ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
     ]
    }
   ],
   "source": [
    "Using transformed variables improved the performance of the Logistic Regression model (compare test roc auc: 0.7137 vs 0.7275).\n",
    "\n",
    "### Support Vector Machine"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# model build using natural distributions\n",
    "\n",
    "SVM_model = SVC(random_state=44, probability=True)\n",
    "SVM_model.fit(X_train[['Age', 'Fare']], y_train)\n",
    "print('Train set')\n",
    "pred = SVM_model.predict_proba(X_train[['Age', 'Fare']])\n",
    "print('Logistic Regression roc-auc: {}'.format(roc_auc_score(y_train, pred[:,1])))\n",
    "print('Test set')\n",
    "pred = SVM_model.predict_proba(X_test[['Age', 'Fare']])\n",
    "print('Logistic Regression roc-auc: {}'.format(roc_auc_score(y_test, pred[:,1])))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# model built on transformed variables\n",
    "\n",
    "SVM_model = SVC(random_state=44, probability=True)\n",
    "SVM_model.fit(X_train[['Age_transformed', 'Fare_transformed']], y_train)\n",
    "print('Train set')\n",
    "pred = SVM_model.predict_proba(X_train[['Age_transformed', 'Fare_transformed']])\n",
    "print('Logistic Regression roc-auc: {}'.format(roc_auc_score(y_train, pred[:,1])))\n",
    "print('Test set')\n",
    "pred = SVM_model.predict_proba(X_test[['Age_transformed', 'Fare_transformed']])\n",
    "print('Logistic Regression roc-auc: {}'.format(roc_auc_score(y_test, pred[:,1])))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For SVM the transformation of the variables also improved the performance of the model. Not only has the SVM now a better generalisation on the test set, the mode built using the transformed variables does not over-fit to the train set (compare train roc-auc 0.927 vs 0.726 for training set).\n",
    "\n",
    "### Random Forests"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# model build using natural distributions\n",
    "\n",
    "rf = RandomForestClassifier(n_estimators=700, random_state=39)\n",
    "rf.fit(X_train[['Age', 'Fare']], y_train)\n",
    "print('Train set')\n",
    "pred = rf.predict_proba(X_train[['Age', 'Fare']])\n",
    "print('Random Forests roc-auc: {}'.format(roc_auc_score(y_train, pred[:,1])))\n",
    "print('Test set')\n",
    "pred = rf.predict_proba(X_test[['Age', 'Fare']])\n",
    "print('Random Forests roc-auc: {}'.format(roc_auc_score(y_test, pred[:,1])))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# model built on transformed variables\n",
    "\n",
    "rf = RandomForestClassifier(n_estimators=700, random_state=39)\n",
    "rf.fit(X_train[['Age_transformed', 'Fare_transformed']], y_train)\n",
    "print('Train set')\n",
    "pred = rf.predict_proba(X_train[['Age_transformed', 'Fare_transformed']])\n",
    "print('Random Forests roc-auc: {}'.format(roc_auc_score(y_train, pred[:,1])))\n",
    "print('Test set')\n",
    "pred = rf.predict_proba(X_test[['Age_transformed', 'Fare_transformed']])\n",
    "print('Random Forests roc-auc: {}'.format(roc_auc_score(y_test, pred[:,1])))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As expected, Random Forests did not see a benefit from transforming the variables to a more Gaussian like distribution.\n",
    "\n",
    "## House Sale Dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# let's load the House Sale Price dataset with a few columns\n",
    "\n",
    "cols_to_use = ['LotArea', 'BsmtFinSF1','GrLivArea', 'OpenPorchSF', 'YearBuilt', 'SalePrice']\n",
    "data = pd.read_csv('houseprice.csv', usecols=cols_to_use)\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# let's check for missing data\n",
    "data[cols_to_use].isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# let's plot the histograms to have an impression of the distribution of the numerical variables\n",
    "for col in cols_to_use:\n",
    "    fig = data[col].hist(bins=50)\n",
    "    fig.set_xlabel(col)\n",
    "    fig.set_label('Number of houses')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "We observed that the numerical variables are not normally distributed. In particular, most of them apart from YearBuilt are skewed."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# let's  apply a transformation and see whether the variables are now more Gaussian shaped\n",
    "# on top of the histograms we plot now as well the Q-Q plots\n",
    "\n",
    "for col in cols_to_use:\n",
    "    if col not in ['SalePrice', 'YearBuilt']:\n",
    "        data[col+'_transformed'] = data[col]**(1/4)\n",
    "        fig = data[col+'_transformed'].hist(bins=50)\n",
    "        fig.set_xlabel(col)\n",
    "        fig.set_ylabel('Number of houses')\n",
    "        plt.show()\n",
    "        stats.probplot(data[data[col+'_transformed']!=0][col+'_transformed'], dist=\"norm\", plot=pylab)\n",
    "        plt.show()\n",
    "        \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We see that in the Q-Q plots, that most of the observations (blue dots) lie on the 45 degree line. Therefore the transformation was successful in attributing a Gaussian-like shape to the variables."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# tried a few transformation on the variable YearBuilt without major success, you can go ahead and try other transformations\n",
    "data['YearBuilt_transformed'] = data['YearBuilt']**(1/-2)\n",
    "fig = data['YearBuilt_transformed'].hist(bins=50)\n",
    "fig.set_xlabel(col)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "stats.probplot(data['YearBuilt_transformed'], dist=\"norm\", plot=pylab)\n",
    "pylab.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "However, the transformation of the variable 'YearBuilt_transformed' does not help to get a more 'Gaussian'-like distribution."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Machine learning model performance on original vs transformed variables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# let's separate into training and testing set\n",
    "X_train, X_test, y_train, y_test = train_test_split(data.fillna(0), data.SalePrice, test_size=0.3,\n",
    "                                                    random_state=0)\n",
    "X_train.shape, X_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "y_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# create a list with the untransformed columns\n",
    "cols_to_use = cols_to_use[0:-1]\n",
    "cols_to_use"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# create a list with the transformed columns\n",
    "cols_transformed = [col+'_transformed' for col in cols_to_use]\n",
    "cols_transformed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# let's standarise the dataset\n",
    "scaler = StandardScaler()\n",
    "X_train_o = scaler.fit_transform(X_train[cols_to_use])\n",
    "X_test_o = scaler.transform(X_test[cols_to_use])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# let's standarise the dataset\n",
    "scaler = StandardScaler()\n",
    "X_train_t = scaler.fit_transform(X_train[cols_transformed])\n",
    "X_test_t = scaler.transform(X_test[cols_transformed])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Linear Regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "linreg = LinearRegression()\n",
    "linreg.fit(X_train_o, y_train)\n",
    "print('Train set')\n",
    "pred = linreg.predict(X_train_o)\n",
    "print('Linear Regression mse: {}'.format(mean_squared_error(y_train, pred)))\n",
    "print('Test set')\n",
    "pred = linreg.predict(X_test_o)\n",
    "print('Linear Regression mse: {}'.format(mean_squared_error(y_test, pred)))\n",
    "print()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "cols_transformed = [col+'_transformed' for col in cols_to_use]\n",
    "linreg = LinearRegression()\n",
    "linreg.fit(X_train_t, y_train)\n",
    "print('Train set')\n",
    "pred = linreg.predict(X_train_t)\n",
    "print('Linear Regression mse: {}'.format(mean_squared_error(y_train, pred)))\n",
    "print('Test set')\n",
    "pred = linreg.predict(X_test_t)\n",
    "print('Linear Regression mse: {}'.format(mean_squared_error(y_test, pred)))\n",
    "print()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can see that variable transformation improved the model performance, the mse on the test set is smaller when using the Linear Regression model built on the transformed variables (2.7e6 vs 2.4e6). In addition, the mse on the train set is bigger, suggesting that the model built using the natural distributions is over-fitting to the train set (mse 1.6e6 vs 1.8e6)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "rf = RandomForestRegressor(n_estimators=5, random_state=39, max_depth=2,min_samples_leaf=100)\n",
    "rf.fit(X_train_o, y_train)\n",
    "print('Train set')\n",
    "pred = rf.predict(X_train_o)\n",
    "print('Random Forests mse: {}'.format(mean_squared_error(y_train, pred)))\n",
    "print('Test set')\n",
    "pred = rf.predict(X_test_o)\n",
    "print('Random Forests mse: {}'.format(mean_squared_error(y_test, pred)))\n",
    "print()\n",
    "print()\n",
    "\n",
    "rf = RandomForestRegressor(n_estimators=5, random_state=39, max_depth=2,min_samples_leaf=100)\n",
    "rf.fit(X_train_t, y_train)\n",
    "print('Train set')\n",
    "pred = rf.predict(X_train_t)\n",
    "print('Random Forests mse: {}'.format(mean_squared_error(y_train, pred)))\n",
    "print('Test set')\n",
    "pred = rf.predict(X_test_t)\n",
    "print('Random Forests mse: {}'.format(mean_squared_error(y_test, pred)))\n",
    "print()\n",
    "print()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As expected the Random Forests is not affected by variable transformation.\n",
    "\n",
    "**That is all for this demonstration. I hope you enjoyed the notebook, and see you in the next one.**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  },
  "toc": {
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": "block",
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
